#ifndef _MULTIBYTETRANSFER
#define _MULTIBYTETRANSFER

namespace COMMONLIB
{


class CharToWChar
{
public:
	CharToWChar(const char* pValue, UINT uCodePage = CP_ACP);
	CharToWChar();

	~CharToWChar();


	void ResetValue(const char* pValue, UINT uCodePage = CP_ACP);
	const WCHAR* GetP();

private:
	void Convert(const char* pValue, UINT uCodePage);

private:
	WCHAR* m_pBuff;
	std::vector<WCHAR*> m_vectBuff;
};

class WCharToChar
{
public:
	WCharToChar(const WCHAR* pValue, UINT uCodePage = CP_ACP);
	WCharToChar();

	~WCharToChar();

	const char* GetP();
	void ResetValue(const WCHAR* pValue, UINT uCodePage = CP_ACP);

private:
	void Convert(const WCHAR* pValue, UINT uCodePage);

private:
	char* m_pBuff;
	std::vector<char*> m_vectBuff;
};

}
#endif